package com.ruoyi.mes.service;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.mes.domain.MesDispJobDone;

/**
 * 完工汇报Service接口
 * 
 * @author ruoyi
 * @date 2021-11-17
 */
public interface IMesDispJobDoneService 
{
    /**
     * 查询完工汇报
     * 
     * @param jobDoneUuid 完工汇报主键
     * @return 完工汇报
     */
    public MesDispJobDone selectMesDispJobDoneByJobDoneUuid(String jobDoneUuid);

    /**
     * 查询完工汇报列表
     * 
     * @param mesDispJobDone 完工汇报
     * @return 完工汇报集合
     */
    public List<MesDispJobDone> selectMesDispJobDoneList(MesDispJobDone mesDispJobDone);
    /**
     *新增时剩余可填报实际数量
     *
     * @param mesDispJobDone 实际数量汇报
     * @return 实际数量
     */
    public BigDecimal selectRemainJobDoneQty(MesDispJobDone mesDispJobDone);

    /**
     *查询完工汇报表中是否存在当前选择的生产派工
     *
     * @param mesDispJobDone
     * @return fkDispatchUuid
     */
    public List<MesDispJobDone> selectFkDispatchUuid(MesDispJobDone mesDispJobDone);
    /**
     *修改时剩余可填报实际数量
     *
     * @param mesDispJobDone 实际数量汇报
     * @return 实际数量
     */
    public BigDecimal selectRemainEditJobDoneQty(MesDispJobDone mesDispJobDone);
    /**
     * 新增完工汇报
     * 
     * @param mesDispJobDone 完工汇报
     * @return 结果
     */
    public int insertMesDispJobDone(MesDispJobDone mesDispJobDone);

    /**
     * 修改完工汇报
     * 
     * @param mesDispJobDone 完工汇报
     * @return 结果
     */
    public int updateMesDispJobDone(MesDispJobDone mesDispJobDone);

    /**
     * 批量删除完工汇报
     * 
     * @param jobDoneUuids 需要删除的完工汇报主键集合
     * @return 结果
     */
    public int deleteMesDispJobDoneByJobDoneUuids(String[] jobDoneUuids);

    /**
     * 删除完工汇报信息
     * 
     * @param jobDoneUuid 完工汇报主键
     * @return 结果
     */
    public int deleteMesDispJobDoneByJobDoneUuid(String jobDoneUuid);
}
